/**
1.构造方法名称与类名相同，没有返回值声明（包括void）
2.构造方法用于初始化数据（属性）
3.每一个类中都会有一个默认的无参的构造方法
4.如果类中有显示的构造方法，那么默认构造方法将无效
5.如果有显示的构造方法，还想保留默认构造方法，需要显示的写出来
6.构造方法可以有多个，但参数不一样，称为构造方法的重载
7.在构造方法中调用另外一个构造方法，使用this(...),
8.构造方法之间的调用，必须要有出口。
9.给构造初始化数据可以使用构造方法或setter方法，通常情况下，两者都会保留
10.一个好的编程习惯是要保留默认的构造方法。（方便一些框架使用反射）
11.private 构造方法私有化，用于工具类（没属性，只有行为）常使用，只需要一个对象。

######
this 等价 new出来的新对象  ->(类的新对象选择的初始化构造函数）

*@author leo
*@company leo's company
*@description java_study
2024年2月3日上午5:07:42
Administrator
 */

/*
package com.leo.第四章_面向对象上;
public class U4_L6L7_构造方法_this {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Cat xiaohuang=new Cat("xiaohuang",22);
		Cat xiaohong=new Cat("xiaohong");
		xiaohong.setAge(4);
		xiaohong.bark();
		xiaohuang.bark();
		
	}

}

class Cat{
	private String name;
	private int age;
	public Cat() {}
	public Cat(String name) {
		this.name=name;
	}
	public Cat(String name,int age) {
		this(name);
		this.age=age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void bark() {
		System.out.println(name+"今年"+age+"岁,在广场miaomiaomiao!");
	}
}

//class Cat_momo{
//	private Cat_momo() {};
//	public void go() {
//		System.out.println("gogogo");
//	}
//}
*/


